<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>png++: png::image&lt; pixel &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">png++
   &#160;<span id="projectnumber">0.2.1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacepng.html">png</a>      </li>
      <li class="navelem"><a class="el" href="classpng_1_1image.html">image</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">png::image&lt; pixel &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="png::image" -->
<p>Class template to represent PNG image.  
 <a href="classpng_1_1image.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="image_8hpp_source.html">image.hpp</a>&gt;</code></p>

<p><a href="classpng_1_1image-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image_1_1pixel__consumer.html">pixel_consumer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The pixel buffer adapter for reading pixel data.  <a href="classpng_1_1image_1_1pixel__consumer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image_1_1pixel__generator.html">pixel_generator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The pixel buffer adapter for writing pixel data.  <a href="classpng_1_1image_1_1pixel__generator.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image_1_1streaming__impl.html">streaming_impl</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A common base class template for <a class="el" href="classpng_1_1image_1_1pixel__consumer.html" title="The pixel buffer adapter for reading pixel data.">pixel_consumer</a> and <a class="el" href="classpng_1_1image_1_1pixel__generator.html" title="The pixel buffer adapter for writing pixel data.">pixel_generator</a> classes.  <a href="classpng_1_1image_1_1streaming__impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpng_1_1image_1_1transform__identity.html">transform_identity</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The default io transformation: does nothing.  <a href="structpng_1_1image_1_1transform__identity.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef pixel_traits&lt; pixel &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a6a828d5ae19727b486cddab99627a711">traits</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The pixel traits type for <code>pixel</code>.  <a href="#a6a828d5ae19727b486cddab99627a711"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classpng_1_1pixel__buffer.html">pixel_buffer</a>&lt; pixel &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The pixel buffer type for <code>pixel</code>.  <a href="#a18629fd28aaeb35bccbdf0c4d8715924"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classpng_1_1basic__pixel__buffer.html#a9f613598fdbb2097bb6e2106430a3fcf">pixbuf::row_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a row of image pixel data.  <a href="#a03b16c0f375b4012c4296a1216e793a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structpng_1_1convert__color__space.html">convert_color_space</a><br class="typebreak"/>
&lt; pixel &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a1bc0c1b88d04dcc0f70ac7d67c3a6603">transform_convert</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A transformation functor to convert any image to appropriate color space.  <a href="#a1bc0c1b88d04dcc0f70ac7d67c3a6603"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#ad3f6ced953ad30e9f7314e59b8d01ddb">image</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty image.  <a href="#ad3f6ced953ad30e9f7314e59b8d01ddb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aa4a71e65c50d56b9f4c98eedf4c5b1a3">image</a> (size_t width, size_t height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty image of specified width and height.  <a href="#aa4a71e65c50d56b9f4c98eedf4c5b1a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a9485519ce9e338e5f5d383202f4a1e2d">image</a> (std::string const &amp;filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an image reading data from specified file using default converting transform.  <a href="#a9485519ce9e338e5f5d383202f4a1e2d"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class transformation &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aad797554233bafee290dbe411eb203ca">image</a> (std::string const &amp;filename, transformation const &amp;transform)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an image reading data from specified file using custom transformaton.  <a href="#aad797554233bafee290dbe411eb203ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a55a47368c2b3219b9ae0a18411bd8f6c">image</a> (char const *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an image reading data from specified file using default converting transform.  <a href="#a55a47368c2b3219b9ae0a18411bd8f6c"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class transformation &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a01a3ee929229f6a9d5a7ed3e871f714c">image</a> (char const *filename, transformation const &amp;transform)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an image reading data from specified file using custom transformaton.  <a href="#a01a3ee929229f6a9d5a7ed3e871f714c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aa8d31436b1e662d22b335563570b83c7">image</a> (std::istream &amp;stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an image reading data from a stream using default converting transform.  <a href="#aa8d31436b1e662d22b335563570b83c7"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class transformation &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#af678430994dab1150b7008fb86906a96">image</a> (std::istream &amp;stream, transformation const &amp;transform)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an image reading data from a stream using custom transformation.  <a href="#af678430994dab1150b7008fb86906a96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">read</a> (std::string const &amp;filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from specified file using default converting transform.  <a href="#a39b167f639856afe5fb3dc666e66df2d"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class transformation &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#ae417f7c3637697774e743d5d27c9941a">read</a> (std::string const &amp;filename, transformation const &amp;transform)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from specified file using custom transformaton.  <a href="#ae417f7c3637697774e743d5d27c9941a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a48a9064b6b150f802e2f3c54878a88f4">read</a> (char const *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from specified file using default converting transform.  <a href="#a48a9064b6b150f802e2f3c54878a88f4"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class transformation &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aef17340a4922ca233e3c278b33f34f54">read</a> (char const *filename, transformation const &amp;transform)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from specified file using custom transformaton.  <a href="#aef17340a4922ca233e3c278b33f34f54"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a90c659eaef8588b9fa77a736251776d8">read</a> (std::istream &amp;stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from a stream using default converting transform.  <a href="#a90c659eaef8588b9fa77a736251776d8"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class transformation &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a9c20a85976678b3521a2826de75a4198">read</a> (std::istream &amp;stream, transformation const &amp;transform)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from a stream using custom transformation.  <a href="#a9c20a85976678b3521a2826de75a4198"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class istream &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">read_stream</a> (istream &amp;stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from a stream using default converting transform.  <a href="#ac05a4cb00c601a9c7995043124786fde"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class istream , class transformation &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aa214828cdeb0cbffc2dcdbe7f9279116">read_stream</a> (istream &amp;stream, transformation const &amp;transform)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an image from a stream using custom transformation.  <a href="#aa214828cdeb0cbffc2dcdbe7f9279116"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#afd2cc57ec02efce3103573fba054a4aa">write</a> (std::string const &amp;filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an image to specified file.  <a href="#afd2cc57ec02efce3103573fba054a4aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aef4cde536f51f367925253fb8f87628c">write</a> (char const *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an image to specified file.  <a href="#aef4cde536f51f367925253fb8f87628c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a717b2da00897c5b3b1e0565f16a917ed">write_stream</a> (std::ostream &amp;stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an image to a stream.  <a href="#a717b2da00897c5b3b1e0565f16a917ed"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class ostream &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#af281589df5de77d47fb7ceab0454a8d4">write_stream</a> (ostream &amp;stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an image to a stream.  <a href="#af281589df5de77d47fb7ceab0454a8d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#acb006a95ec41a44bf573fb79a5a08229">get_pixbuf</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to image pixel buffer.  <a href="#acb006a95ec41a44bf573fb79a5a08229"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#ad74ce2aea35a06cf417c14ffb2b0bdf5">get_pixbuf</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a const reference to image pixel buffer.  <a href="#ad74ce2aea35a06cf417c14ffb2b0bdf5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a8b9692e536505a95e0bea9fef1c4257d">set_pixbuf</a> (<a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a> const &amp;buffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces the image pixel buffer.  <a href="#a8b9692e536505a95e0bea9fef1c4257d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a381477824c5c49c922abf7a050b4a7f3">get_width</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a2b7a1e585b83533491dca1437072d7c6">get_height</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a1438f7509e906edf364ec5d4d31ece0d">resize</a> (size_t width, size_t height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes the image pixel buffer.  <a href="#a1438f7509e906edf364ec5d4d31ece0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297">get_row</a> (size_t index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the row of image data at specified index.  <a href="#a8acc236d81f4d3e799a6d14eab0df297"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a6aed7283370ed25f714c4b41c49642ee">get_row</a> (size_t index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a const reference to the row of image data at specified index.  <a href="#a6aed7283370ed25f714c4b41c49642ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#ab68b6275f71b202fbdcbe0147f155bc1">operator[]</a> (size_t index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The non-checking version of <a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297" title="Returns a reference to the row of image data at specified index.">get_row()</a> method.  <a href="#ab68b6275f71b202fbdcbe0147f155bc1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aa15dd8aa344987d4970492101da57130">operator[]</a> (size_t index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The non-checking version of <a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297" title="Returns a reference to the row of image data at specified index.">get_row()</a> method.  <a href="#aa15dd8aa344987d4970492101da57130"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">pixel&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#abe6726a735ac814dc7ca29fec0c2b914">get_pixel</a> (size_t x, size_t y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pixel at (x,y) position.  <a href="#abe6726a735ac814dc7ca29fec0c2b914"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a4d227ed87e003931410b487ac5d54388">set_pixel</a> (size_t x, size_t y, pixel p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces a pixel at (x,y) position.  <a href="#a4d227ed87e003931410b487ac5d54388"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepng.html#a4b468278362e4ccf0b2c52f9c0692bdc">interlace_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a4a3b50d010253a4f4384037461a61485">get_interlace_type</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a97ed2f9073149e205c85a92ca4cfd30d">set_interlace_type</a> (<a class="el" href="namespacepng.html#a4b468278362e4ccf0b2c52f9c0692bdc">interlace_type</a> interlace)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepng.html#a8437714ca563a374d534e5edf57fbab8">compression_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a991a32b1114621d8d669271e36c6c559">get_compression_type</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#ab5dc67b117c120c6b70b0e529e2f6916">set_compression_type</a> (<a class="el" href="namespacepng.html#a8437714ca563a374d534e5edf57fbab8">compression_type</a> compression)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepng.html#ab65439f6689d3a6742450e55f3e0fbce">filter_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a769c5e2c602abf2d32d1bf2d2b2ab7f3">get_filter_type</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a33730d504e3cf4f4a37eaf45e660c55e">set_filter_type</a> (<a class="el" href="namespacepng.html#ab65439f6689d3a6742450e55f3e0fbce">filter_type</a> filter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepng.html#a6c5f0b8146f3467ea94e6090846d1d01">palette</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a9cf9a17910aca6c1a542e31292547856">get_palette</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the image palette.  <a href="#a9cf9a17910aca6c1a542e31292547856"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepng.html#a6c5f0b8146f3467ea94e6090846d1d01">palette</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a328d457f85e7458cd9d691b69a19af30">get_palette</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a const reference to the image palette.  <a href="#a328d457f85e7458cd9d691b69a19af30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#ab1fb2c3e15ac8d90d8436636f9a40da3">set_palette</a> (<a class="el" href="namespacepng.html#a6c5f0b8146f3467ea94e6090846d1d01">palette</a> const &amp;plte)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces the image palette.  <a href="#ab1fb2c3e15ac8d90d8436636f9a40da3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepng.html#ace5f679842b8b4e56df1448c62daf28e">tRNS</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a96546c2cad0ea9b46f2707609eeb41cf">get_tRNS</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepng.html#ace5f679842b8b4e56df1448c62daf28e">tRNS</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a7bcaa3ed96d6b62f3e162c88ffd99da4">get_tRNS</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a3a451d07b9342ae53c459b5e6e0a8f56">set_tRNS</a> (<a class="el" href="namespacepng.html#ace5f679842b8b4e56df1448c62daf28e">tRNS</a> const &amp;trns)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image__info.html">image_info</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">m_info</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">m_pixbuf</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename pixel&gt;<br/>
class png::image&lt; pixel &gt;</h3>

<p>Class template to represent PNG image. </p>
<p>The image consists of pixel data as well as additional image info like interlace type, compression method, palette (for colormap-based images) etc. Provides methods to read and write images from/to a generic stream and to manipulate image pixels. </p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a6a828d5ae19727b486cddab99627a711"></a><!-- doxytag: member="png::image::traits" ref="a6a828d5ae19727b486cddab99627a711" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef pixel_traits&lt; pixel &gt; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a6a828d5ae19727b486cddab99627a711">traits</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The pixel traits type for <code>pixel</code>. </p>

</div>
</div>
<a class="anchor" id="a18629fd28aaeb35bccbdf0c4d8715924"></a><!-- doxytag: member="png::image::pixbuf" ref="a18629fd28aaeb35bccbdf0c4d8715924" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpng_1_1pixel__buffer.html">pixel_buffer</a>&lt; pixel &gt; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The pixel buffer type for <code>pixel</code>. </p>

</div>
</div>
<a class="anchor" id="a03b16c0f375b4012c4296a1216e793a0"></a><!-- doxytag: member="png::image::row_type" ref="a03b16c0f375b4012c4296a1216e793a0" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpng_1_1basic__pixel__buffer.html#a9f613598fdbb2097bb6e2106430a3fcf">pixbuf::row_type</a> <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Represents a row of image pixel data. </p>

</div>
</div>
<a class="anchor" id="a1bc0c1b88d04dcc0f70ac7d67c3a6603"></a><!-- doxytag: member="png::image::transform_convert" ref="a1bc0c1b88d04dcc0f70ac7d67c3a6603" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpng_1_1convert__color__space.html">convert_color_space</a>&lt; pixel &gt; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a1bc0c1b88d04dcc0f70ac7d67c3a6603">transform_convert</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A transformation functor to convert any image to appropriate color space. </p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad3f6ced953ad30e9f7314e59b8d01ddb"></a><!-- doxytag: member="png::image::image" ref="ad3f6ced953ad30e9f7314e59b8d01ddb" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an empty image. </p>

</div>
</div>
<a class="anchor" id="aa4a71e65c50d56b9f4c98eedf4c5b1a3"></a><!-- doxytag: member="png::image::image" ref="aa4a71e65c50d56b9f4c98eedf4c5b1a3" args="(size_t width, size_t height)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an empty image of specified width and height. </p>

<p>References <a class="el" href="classpng_1_1image.html#a1438f7509e906edf364ec5d4d31ece0d">png::image&lt; pixel &gt;::resize()</a>.</p>

</div>
</div>
<a class="anchor" id="a9485519ce9e338e5f5d383202f4a1e2d"></a><!-- doxytag: member="png::image::image" ref="a9485519ce9e338e5f5d383202f4a1e2d" args="(std::string const &amp;filename)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramtype">std::string const &amp;&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an image reading data from specified file using default converting transform. </p>

<p>References <a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="aad797554233bafee290dbe411eb203ca"></a><!-- doxytag: member="png::image::image" ref="aad797554233bafee290dbe411eb203ca" args="(std::string const &amp;filename, transformation const &amp;transform)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class transformation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramtype">std::string const &amp;&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">transformation const &amp;&#160;</td>
          <td class="paramname"><em>transform</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an image reading data from specified file using custom transformaton. </p>

<p>References <a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="a55a47368c2b3219b9ae0a18411bd8f6c"></a><!-- doxytag: member="png::image::image" ref="a55a47368c2b3219b9ae0a18411bd8f6c" args="(char const *filename)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an image reading data from specified file using default converting transform. </p>

<p>References <a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="a01a3ee929229f6a9d5a7ed3e871f714c"></a><!-- doxytag: member="png::image::image" ref="a01a3ee929229f6a9d5a7ed3e871f714c" args="(char const *filename, transformation const &amp;transform)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class transformation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">transformation const &amp;&#160;</td>
          <td class="paramname"><em>transform</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an image reading data from specified file using custom transformaton. </p>

<p>References <a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="aa8d31436b1e662d22b335563570b83c7"></a><!-- doxytag: member="png::image::image" ref="aa8d31436b1e662d22b335563570b83c7" args="(std::istream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an image reading data from a stream using default converting transform. </p>

<p>References <a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">png::image&lt; pixel &gt;::read_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="af678430994dab1150b7008fb86906a96"></a><!-- doxytag: member="png::image::image" ref="af678430994dab1150b7008fb86906a96" args="(std::istream &amp;stream, transformation const &amp;transform)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class transformation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html">image</a> </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">transformation const &amp;&#160;</td>
          <td class="paramname"><em>transform</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an image reading data from a stream using custom transformation. </p>

<p>References <a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">png::image&lt; pixel &gt;::read_stream()</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a39b167f639856afe5fb3dc666e66df2d"></a><!-- doxytag: member="png::image::read" ref="a39b167f639856afe5fb3dc666e66df2d" args="(std::string const &amp;filename)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">read</a> </td>
          <td>(</td>
          <td class="paramtype">std::string const &amp;&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from specified file using default converting transform. </p>

<p>Referenced by <a class="el" href="classpng_1_1image.html#a9485519ce9e338e5f5d383202f4a1e2d">png::image&lt; pixel &gt;::image()</a>, and <a class="el" href="classpng_1_1image.html#ae417f7c3637697774e743d5d27c9941a">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="ae417f7c3637697774e743d5d27c9941a"></a><!-- doxytag: member="png::image::read" ref="ae417f7c3637697774e743d5d27c9941a" args="(std::string const &amp;filename, transformation const &amp;transform)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class transformation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">read</a> </td>
          <td>(</td>
          <td class="paramtype">std::string const &amp;&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">transformation const &amp;&#160;</td>
          <td class="paramname"><em>transform</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from specified file using custom transformaton. </p>

<p>References <a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="a48a9064b6b150f802e2f3c54878a88f4"></a><!-- doxytag: member="png::image::read" ref="a48a9064b6b150f802e2f3c54878a88f4" args="(char const *filename)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">read</a> </td>
          <td>(</td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from specified file using default converting transform. </p>

<p>References <a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="aef17340a4922ca233e3c278b33f34f54"></a><!-- doxytag: member="png::image::read" ref="aef17340a4922ca233e3c278b33f34f54" args="(char const *filename, transformation const &amp;transform)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class transformation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">read</a> </td>
          <td>(</td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">transformation const &amp;&#160;</td>
          <td class="paramname"><em>transform</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from specified file using custom transformaton. </p>

<p>References <a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">png::image&lt; pixel &gt;::read_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="a90c659eaef8588b9fa77a736251776d8"></a><!-- doxytag: member="png::image::read" ref="a90c659eaef8588b9fa77a736251776d8" args="(std::istream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">read</a> </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from a stream using default converting transform. </p>

<p>References <a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">png::image&lt; pixel &gt;::read_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="a9c20a85976678b3521a2826de75a4198"></a><!-- doxytag: member="png::image::read" ref="a9c20a85976678b3521a2826de75a4198" args="(std::istream &amp;stream, transformation const &amp;transform)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class transformation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a39b167f639856afe5fb3dc666e66df2d">read</a> </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">transformation const &amp;&#160;</td>
          <td class="paramname"><em>transform</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from a stream using custom transformation. </p>

<p>References <a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">png::image&lt; pixel &gt;::read_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="ac05a4cb00c601a9c7995043124786fde"></a><!-- doxytag: member="png::image::read_stream" ref="ac05a4cb00c601a9c7995043124786fde" args="(istream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class istream &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">read_stream</a> </td>
          <td>(</td>
          <td class="paramtype">istream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from a stream using default converting transform. </p>

<p>Referenced by <a class="el" href="classpng_1_1image.html#aa8d31436b1e662d22b335563570b83c7">png::image&lt; pixel &gt;::image()</a>, and <a class="el" href="classpng_1_1image.html#aef17340a4922ca233e3c278b33f34f54">png::image&lt; pixel &gt;::read()</a>.</p>

</div>
</div>
<a class="anchor" id="aa214828cdeb0cbffc2dcdbe7f9279116"></a><!-- doxytag: member="png::image::read_stream" ref="aa214828cdeb0cbffc2dcdbe7f9279116" args="(istream &amp;stream, transformation const &amp;transform)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class istream , class transformation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#ac05a4cb00c601a9c7995043124786fde">read_stream</a> </td>
          <td>(</td>
          <td class="paramtype">istream &amp;&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">transformation const &amp;&#160;</td>
          <td class="paramname"><em>transform</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads an image from a stream using custom transformation. </p>

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, and <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="afd2cc57ec02efce3103573fba054a4aa"></a><!-- doxytag: member="png::image::write" ref="afd2cc57ec02efce3103573fba054a4aa" args="(std::string const &amp;filename)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#afd2cc57ec02efce3103573fba054a4aa">write</a> </td>
          <td>(</td>
          <td class="paramtype">std::string const &amp;&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes an image to specified file. </p>

</div>
</div>
<a class="anchor" id="aef4cde536f51f367925253fb8f87628c"></a><!-- doxytag: member="png::image::write" ref="aef4cde536f51f367925253fb8f87628c" args="(char const *filename)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#afd2cc57ec02efce3103573fba054a4aa">write</a> </td>
          <td>(</td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes an image to specified file. </p>

<p>References <a class="el" href="classpng_1_1image.html#a717b2da00897c5b3b1e0565f16a917ed">png::image&lt; pixel &gt;::write_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="a717b2da00897c5b3b1e0565f16a917ed"></a><!-- doxytag: member="png::image::write_stream" ref="a717b2da00897c5b3b1e0565f16a917ed" args="(std::ostream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a717b2da00897c5b3b1e0565f16a917ed">write_stream</a> </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes an image to a stream. </p>

<p>Referenced by <a class="el" href="classpng_1_1image.html#aef4cde536f51f367925253fb8f87628c">png::image&lt; pixel &gt;::write()</a>.</p>

</div>
</div>
<a class="anchor" id="af281589df5de77d47fb7ceab0454a8d4"></a><!-- doxytag: member="png::image::write_stream" ref="af281589df5de77d47fb7ceab0454a8d4" args="(ostream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
<div class="memtemplate">
template&lt;class ostream &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a717b2da00897c5b3b1e0565f16a917ed">write_stream</a> </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes an image to a stream. </p>

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, and <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="acb006a95ec41a44bf573fb79a5a08229"></a><!-- doxytag: member="png::image::get_pixbuf" ref="acb006a95ec41a44bf573fb79a5a08229" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a>&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#acb006a95ec41a44bf573fb79a5a08229">get_pixbuf</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a reference to image pixel buffer. </p>

<p>References <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="ad74ce2aea35a06cf417c14ffb2b0bdf5"></a><!-- doxytag: member="png::image::get_pixbuf" ref="ad74ce2aea35a06cf417c14ffb2b0bdf5" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a> const&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#acb006a95ec41a44bf573fb79a5a08229">get_pixbuf</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a const reference to image pixel buffer. </p>

<p>References <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="a8b9692e536505a95e0bea9fef1c4257d"></a><!-- doxytag: member="png::image::set_pixbuf" ref="a8b9692e536505a95e0bea9fef1c4257d" args="(pixbuf const &amp;buffer)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a8b9692e536505a95e0bea9fef1c4257d">set_pixbuf</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a> const &amp;&#160;</td>
          <td class="paramname"><em>buffer</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Replaces the image pixel buffer. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>a pixel buffer object to take a copy from </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="a381477824c5c49c922abf7a050b4a7f3"></a><!-- doxytag: member="png::image::get_width" ref="a381477824c5c49c922abf7a050b4a7f3" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a381477824c5c49c922abf7a050b4a7f3">get_width</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1basic__pixel__buffer.html#a08653f32687d377b91c44848f7a4a7e5">png::basic_pixel_buffer&lt; pixel, row, traits &gt;::get_width()</a>, and <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

<p>Referenced by <a class="el" href="classpng_1_1image_1_1pixel__consumer.html#a99fe77d0a8fb981e3b92280065dc0b69">png::image&lt; pixel &gt;::pixel_consumer::reset()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b7a1e585b83533491dca1437072d7c6"></a><!-- doxytag: member="png::image::get_height" ref="a2b7a1e585b83533491dca1437072d7c6" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a2b7a1e585b83533491dca1437072d7c6">get_height</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1basic__pixel__buffer.html#ac358ea2cde969c8a356983dd0e00d84d">png::basic_pixel_buffer&lt; pixel, row, traits &gt;::get_height()</a>, and <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

<p>Referenced by <a class="el" href="classpng_1_1image_1_1pixel__consumer.html#a99fe77d0a8fb981e3b92280065dc0b69">png::image&lt; pixel &gt;::pixel_consumer::reset()</a>.</p>

</div>
</div>
<a class="anchor" id="a1438f7509e906edf364ec5d4d31ece0d"></a><!-- doxytag: member="png::image::resize" ref="a1438f7509e906edf364ec5d4d31ece0d" args="(size_t width, size_t height)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a1438f7509e906edf364ec5d4d31ece0d">resize</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resizes the image pixel buffer. </p>

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>, <a class="el" href="classpng_1_1basic__pixel__buffer.html#a24464e17d19d43102b4ea1ba1e8f75d2">png::basic_pixel_buffer&lt; pixel, row, traits &gt;::resize()</a>, <a class="el" href="classpng_1_1image__info.html#a6ccb5704bf7f715572a6129bf3009761">png::image_info::set_height()</a>, and <a class="el" href="classpng_1_1image__info.html#a3d23fc1552357d39fe4d8d017b9bea0a">png::image_info::set_width()</a>.</p>

<p>Referenced by <a class="el" href="classpng_1_1image.html#aa4a71e65c50d56b9f4c98eedf4c5b1a3">png::image&lt; pixel &gt;::image()</a>.</p>

</div>
</div>
<a class="anchor" id="a8acc236d81f4d3e799a6d14eab0df297"></a><!-- doxytag: member="png::image::get_row" ref="a8acc236d81f4d3e799a6d14eab0df297" args="(size_t index)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a>&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297">get_row</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a reference to the row of image data at specified index. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classpng_1_1basic__pixel__buffer.html#a4ecc5f4afb12d5d07b8df2d77707e6b2" title="Returns a reference to the row of image data at specified index.">pixel_buffer::get_row()</a> </dd></dl>

<p>References <a class="el" href="classpng_1_1basic__pixel__buffer.html#a4ecc5f4afb12d5d07b8df2d77707e6b2">png::basic_pixel_buffer&lt; pixel, row, traits &gt;::get_row()</a>, and <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="a6aed7283370ed25f714c4b41c49642ee"></a><!-- doxytag: member="png::image::get_row" ref="a6aed7283370ed25f714c4b41c49642ee" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a> const&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297">get_row</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a const reference to the row of image data at specified index. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classpng_1_1basic__pixel__buffer.html#a4ecc5f4afb12d5d07b8df2d77707e6b2" title="Returns a reference to the row of image data at specified index.">pixel_buffer::get_row()</a> </dd></dl>

<p>References <a class="el" href="classpng_1_1basic__pixel__buffer.html#a4ecc5f4afb12d5d07b8df2d77707e6b2">png::basic_pixel_buffer&lt; pixel, row, traits &gt;::get_row()</a>, and <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="ab68b6275f71b202fbdcbe0147f155bc1"></a><!-- doxytag: member="png::image::operator[]" ref="ab68b6275f71b202fbdcbe0147f155bc1" args="(size_t index)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a>&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The non-checking version of <a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297" title="Returns a reference to the row of image data at specified index.">get_row()</a> method. </p>

<p>References <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="aa15dd8aa344987d4970492101da57130"></a><!-- doxytag: member="png::image::operator[]" ref="aa15dd8aa344987d4970492101da57130" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html#a03b16c0f375b4012c4296a1216e793a0">row_type</a> const&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The non-checking version of <a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297" title="Returns a reference to the row of image data at specified index.">get_row()</a> method. </p>

<p>References <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="abe6726a735ac814dc7ca29fec0c2b914"></a><!-- doxytag: member="png::image::get_pixel" ref="abe6726a735ac814dc7ca29fec0c2b914" args="(size_t x, size_t y) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">pixel <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#abe6726a735ac814dc7ca29fec0c2b914">get_pixel</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pixel at (x,y) position. </p>

<p>References <a class="el" href="classpng_1_1basic__pixel__buffer.html#a066630b24578f29cc9f380b026fe4a66">png::basic_pixel_buffer&lt; pixel, row, traits &gt;::get_pixel()</a>, and <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>.</p>

</div>
</div>
<a class="anchor" id="a4d227ed87e003931410b487ac5d54388"></a><!-- doxytag: member="png::image::set_pixel" ref="a4d227ed87e003931410b487ac5d54388" args="(size_t x, size_t y, pixel p)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a4d227ed87e003931410b487ac5d54388">set_pixel</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">pixel&#160;</td>
          <td class="paramname"><em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Replaces a pixel at (x,y) position. </p>

<p>References <a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">png::image&lt; pixel &gt;::m_pixbuf</a>, and <a class="el" href="classpng_1_1basic__pixel__buffer.html#a66bcef0d0f879c0c2cba962fff72f935">png::basic_pixel_buffer&lt; pixel, row, traits &gt;::set_pixel()</a>.</p>

</div>
</div>
<a class="anchor" id="a4a3b50d010253a4f4384037461a61485"></a><!-- doxytag: member="png::image::get_interlace_type" ref="a4a3b50d010253a4f4384037461a61485" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacepng.html#a4b468278362e4ccf0b2c52f9c0692bdc">interlace_type</a> <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a4a3b50d010253a4f4384037461a61485">get_interlace_type</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image__info.html#ac43327884ca1d053002cb3ba3ef24188">png::image_info::get_interlace_type()</a>, and <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>.</p>

</div>
</div>
<a class="anchor" id="a97ed2f9073149e205c85a92ca4cfd30d"></a><!-- doxytag: member="png::image::set_interlace_type" ref="a97ed2f9073149e205c85a92ca4cfd30d" args="(interlace_type interlace)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a97ed2f9073149e205c85a92ca4cfd30d">set_interlace_type</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacepng.html#a4b468278362e4ccf0b2c52f9c0692bdc">interlace_type</a>&#160;</td>
          <td class="paramname"><em>interlace</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, and <a class="el" href="classpng_1_1image__info.html#a19a24d29c7f47223a8df1164c093361c">png::image_info::set_interlace_type()</a>.</p>

</div>
</div>
<a class="anchor" id="a991a32b1114621d8d669271e36c6c559"></a><!-- doxytag: member="png::image::get_compression_type" ref="a991a32b1114621d8d669271e36c6c559" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacepng.html#a8437714ca563a374d534e5edf57fbab8">compression_type</a> <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a991a32b1114621d8d669271e36c6c559">get_compression_type</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image__info.html#ae8f5870c3fd31cc3f0cb158c2a20bbcd">png::image_info::get_compression_type()</a>, and <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>.</p>

</div>
</div>
<a class="anchor" id="ab5dc67b117c120c6b70b0e529e2f6916"></a><!-- doxytag: member="png::image::set_compression_type" ref="ab5dc67b117c120c6b70b0e529e2f6916" args="(compression_type compression)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#ab5dc67b117c120c6b70b0e529e2f6916">set_compression_type</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacepng.html#a8437714ca563a374d534e5edf57fbab8">compression_type</a>&#160;</td>
          <td class="paramname"><em>compression</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, and <a class="el" href="classpng_1_1image__info.html#a5a645e38fe10f80ced96301cdb0dec74">png::image_info::set_compression_type()</a>.</p>

</div>
</div>
<a class="anchor" id="a769c5e2c602abf2d32d1bf2d2b2ab7f3"></a><!-- doxytag: member="png::image::get_filter_type" ref="a769c5e2c602abf2d32d1bf2d2b2ab7f3" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacepng.html#ab65439f6689d3a6742450e55f3e0fbce">filter_type</a> <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a769c5e2c602abf2d32d1bf2d2b2ab7f3">get_filter_type</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image__info.html#a71305d6b01e0c58838144b01d10bbb14">png::image_info::get_filter_type()</a>, and <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>.</p>

</div>
</div>
<a class="anchor" id="a33730d504e3cf4f4a37eaf45e660c55e"></a><!-- doxytag: member="png::image::set_filter_type" ref="a33730d504e3cf4f4a37eaf45e660c55e" args="(filter_type filter)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a33730d504e3cf4f4a37eaf45e660c55e">set_filter_type</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacepng.html#ab65439f6689d3a6742450e55f3e0fbce">filter_type</a>&#160;</td>
          <td class="paramname"><em>filter</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, and <a class="el" href="classpng_1_1image__info.html#a886e48b7371f2768acb9fc9768d57366">png::image_info::set_filter_type()</a>.</p>

</div>
</div>
<a class="anchor" id="a9cf9a17910aca6c1a542e31292547856"></a><!-- doxytag: member="png::image::get_palette" ref="a9cf9a17910aca6c1a542e31292547856" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacepng.html#a6c5f0b8146f3467ea94e6090846d1d01">palette</a>&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a9cf9a17910aca6c1a542e31292547856">get_palette</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a reference to the image palette. </p>

<p>References <a class="el" href="classpng_1_1image__info.html#a3577210685e93050122d4974fc1c390a">png::image_info::get_palette()</a>, and <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>.</p>

</div>
</div>
<a class="anchor" id="a328d457f85e7458cd9d691b69a19af30"></a><!-- doxytag: member="png::image::get_palette" ref="a328d457f85e7458cd9d691b69a19af30" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacepng.html#a6c5f0b8146f3467ea94e6090846d1d01">palette</a> const&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a9cf9a17910aca6c1a542e31292547856">get_palette</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a const reference to the image palette. </p>

<p>References <a class="el" href="classpng_1_1image__info.html#a3577210685e93050122d4974fc1c390a">png::image_info::get_palette()</a>, and <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>.</p>

</div>
</div>
<a class="anchor" id="ab1fb2c3e15ac8d90d8436636f9a40da3"></a><!-- doxytag: member="png::image::set_palette" ref="ab1fb2c3e15ac8d90d8436636f9a40da3" args="(palette const &amp;plte)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#ab1fb2c3e15ac8d90d8436636f9a40da3">set_palette</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacepng.html#a6c5f0b8146f3467ea94e6090846d1d01">palette</a> const &amp;&#160;</td>
          <td class="paramname"><em>plte</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Replaces the image palette. </p>

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, and <a class="el" href="classpng_1_1image__info.html#acfc3675399a946f411d2a6e0054401f4">png::image_info::set_palette()</a>.</p>

</div>
</div>
<a class="anchor" id="a96546c2cad0ea9b46f2707609eeb41cf"></a><!-- doxytag: member="png::image::get_tRNS" ref="a96546c2cad0ea9b46f2707609eeb41cf" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacepng.html#ace5f679842b8b4e56df1448c62daf28e">tRNS</a> const&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a96546c2cad0ea9b46f2707609eeb41cf">get_tRNS</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image__info.html#a9dfd2ebd5421d27c1ed839262e995650">png::image_info::get_tRNS()</a>, and <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>.</p>

</div>
</div>
<a class="anchor" id="a7bcaa3ed96d6b62f3e162c88ffd99da4"></a><!-- doxytag: member="png::image::get_tRNS" ref="a7bcaa3ed96d6b62f3e162c88ffd99da4" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacepng.html#ace5f679842b8b4e56df1448c62daf28e">tRNS</a>&amp; <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a96546c2cad0ea9b46f2707609eeb41cf">get_tRNS</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image__info.html#a9dfd2ebd5421d27c1ed839262e995650">png::image_info::get_tRNS()</a>, and <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>.</p>

</div>
</div>
<a class="anchor" id="a3a451d07b9342ae53c459b5e6e0a8f56"></a><!-- doxytag: member="png::image::set_tRNS" ref="a3a451d07b9342ae53c459b5e6e0a8f56" args="(tRNS const &amp;trns)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a3a451d07b9342ae53c459b5e6e0a8f56">set_tRNS</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacepng.html#ace5f679842b8b4e56df1448c62daf28e">tRNS</a> const &amp;&#160;</td>
          <td class="paramname"><em>trns</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">png::image&lt; pixel &gt;::m_info</a>, and <a class="el" href="classpng_1_1image__info.html#a939bed5115330604e67950dc63b555e3">png::image_info::set_tRNS()</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a632aa91a796f04152206369cc4403060"></a><!-- doxytag: member="png::image::m_info" ref="a632aa91a796f04152206369cc4403060" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image__info.html">image_info</a> <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#a632aa91a796f04152206369cc4403060">m_info</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classpng_1_1image.html#a991a32b1114621d8d669271e36c6c559">png::image&lt; pixel &gt;::get_compression_type()</a>, <a class="el" href="classpng_1_1image.html#a769c5e2c602abf2d32d1bf2d2b2ab7f3">png::image&lt; pixel &gt;::get_filter_type()</a>, <a class="el" href="classpng_1_1image.html#a4a3b50d010253a4f4384037461a61485">png::image&lt; pixel &gt;::get_interlace_type()</a>, <a class="el" href="classpng_1_1image.html#a9cf9a17910aca6c1a542e31292547856">png::image&lt; pixel &gt;::get_palette()</a>, <a class="el" href="classpng_1_1image.html#a96546c2cad0ea9b46f2707609eeb41cf">png::image&lt; pixel &gt;::get_tRNS()</a>, <a class="el" href="classpng_1_1image.html#aa214828cdeb0cbffc2dcdbe7f9279116">png::image&lt; pixel &gt;::read_stream()</a>, <a class="el" href="classpng_1_1image.html#a1438f7509e906edf364ec5d4d31ece0d">png::image&lt; pixel &gt;::resize()</a>, <a class="el" href="classpng_1_1image.html#ab5dc67b117c120c6b70b0e529e2f6916">png::image&lt; pixel &gt;::set_compression_type()</a>, <a class="el" href="classpng_1_1image.html#a33730d504e3cf4f4a37eaf45e660c55e">png::image&lt; pixel &gt;::set_filter_type()</a>, <a class="el" href="classpng_1_1image.html#a97ed2f9073149e205c85a92ca4cfd30d">png::image&lt; pixel &gt;::set_interlace_type()</a>, <a class="el" href="classpng_1_1image.html#ab1fb2c3e15ac8d90d8436636f9a40da3">png::image&lt; pixel &gt;::set_palette()</a>, <a class="el" href="classpng_1_1image.html#a3a451d07b9342ae53c459b5e6e0a8f56">png::image&lt; pixel &gt;::set_tRNS()</a>, and <a class="el" href="classpng_1_1image.html#af281589df5de77d47fb7ceab0454a8d4">png::image&lt; pixel &gt;::write_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="aabd729d366a48f7004c9b169d8783049"></a><!-- doxytag: member="png::image::m_pixbuf" ref="aabd729d366a48f7004c9b169d8783049" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename pixel &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpng_1_1image.html#a18629fd28aaeb35bccbdf0c4d8715924">pixbuf</a> <a class="el" href="classpng_1_1image.html">png::image</a>&lt; pixel &gt;::<a class="el" href="classpng_1_1image.html#aabd729d366a48f7004c9b169d8783049">m_pixbuf</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="classpng_1_1image.html#a2b7a1e585b83533491dca1437072d7c6">png::image&lt; pixel &gt;::get_height()</a>, <a class="el" href="classpng_1_1image.html#acb006a95ec41a44bf573fb79a5a08229">png::image&lt; pixel &gt;::get_pixbuf()</a>, <a class="el" href="classpng_1_1image.html#abe6726a735ac814dc7ca29fec0c2b914">png::image&lt; pixel &gt;::get_pixel()</a>, <a class="el" href="classpng_1_1image.html#a8acc236d81f4d3e799a6d14eab0df297">png::image&lt; pixel &gt;::get_row()</a>, <a class="el" href="classpng_1_1image.html#a381477824c5c49c922abf7a050b4a7f3">png::image&lt; pixel &gt;::get_width()</a>, <a class="el" href="classpng_1_1image.html#ab68b6275f71b202fbdcbe0147f155bc1">png::image&lt; pixel &gt;::operator[]()</a>, <a class="el" href="classpng_1_1image.html#aa214828cdeb0cbffc2dcdbe7f9279116">png::image&lt; pixel &gt;::read_stream()</a>, <a class="el" href="classpng_1_1image.html#a1438f7509e906edf364ec5d4d31ece0d">png::image&lt; pixel &gt;::resize()</a>, <a class="el" href="classpng_1_1image.html#a8b9692e536505a95e0bea9fef1c4257d">png::image&lt; pixel &gt;::set_pixbuf()</a>, <a class="el" href="classpng_1_1image.html#a4d227ed87e003931410b487ac5d54388">png::image&lt; pixel &gt;::set_pixel()</a>, and <a class="el" href="classpng_1_1image.html#af281589df5de77d47fb7ceab0454a8d4">png::image&lt; pixel &gt;::write_stream()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="image_8hpp_source.html">image.hpp</a></li>
</ul>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 25 2013 14:10:10 for png++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
